home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PACKET / RZSW1111.ZIP / ROSEZSW.LST < prev    next >
File List  |  1990-11-13  |  16KB  |  300 lines

  1.  
  2.  
  3. HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
  4.                                                                                                                           Page   1
  5.  
  6.  
  7.    1    0000'                       psect    data
  8.    2                                global    _node_addr, _l2_user_info, _l2_info, Copyright
  9.    3                                global    _L3CALL,_L3DIGI, _L3PORT, _L3_MAXVC, _L3_WI, _L3DELAY
  10.    4                                global    _L3CSIZ, _L3NSIZ, _NPAroute, _userport
  11.    5                                global     _l2parms, _dl2parms, _l3parms, _dl3parms
  12.    6                                global    _USER_MAXVC, _USER_L3_W, _RTable
  13.    7                                global    _sumchk, __Lbssck, mycall, mydigi, myaddr
  14.    8                                global    _NULLFCN, _clr_boot, _con_boot, _recv_boot
  15.    9                                global    _rst_boot, _send_boot, _loader
  16.   10                                global    _complete, _being_set
  17.   11                                global    _Entry, _entry
  18.   12                                global    _passlen, _passwd
  19.   13                            
  20.   14    0000'                   initdta:
  21.   15    0000' 0A 31 00 00       myaddr:    defb    10,31h,00h,00h,00h,00h,00h    ;node address
  22.         0004' 00 00 00          
  23.   16    0007' 0029'                 defw    _l2_info            ;dummies message
  24.   17    0009' 0105'                 defw    l2parms                ;l2 user config
  25.   18    000B' 0111'                 defw    l3parms                ;l3 link config
  26.   19    000D' 0004                  defw    4                ;L3 user pkt window
  27.   20    000F' 0005                  defw    5                ;L3 user max vc cnt
  28.   21    0011' 000F                  defw    15                ;_L3CSIZ, no L3 users
  29.   22    0013        =           initlen    equ    $-initdta
  30.   23                            
  31.   24    0013' 43 6F 70 79       Copyright: defm    'Copyright 1988-90 W2VY'
  32.         0017' 72 69 67 68       
  33.         001B' 74 20 31 39       
  34.         001F' 38 38 2D 39       
  35.         0023' 30 20 57 32       
  36.         0027' 56 59             
  37.   25    0029' 0000 0000 0033'   _l2_info: defw    0,0,l2rdta,l2wdta,l2eob
  38.         002F' 0075' 0074'       
  39.   26    0033' 52 4F 53 45       l2rdta:    defm    'ROSE X.25 Packet Switch Version 901111 by Thomas A. Moulton, W2VY'
  40.         0037' 20 58 2E 32       
  41.         003B' 35 20 50 61       
  42.         003F' 63 6B 65 74       
  43.         0043' 20 53 77 69       
  44.         0047' 74 63 68 20       
  45.         004B' 56 65 72 73       
  46.         004F' 69 6F 6E 20       
  47.         0053' 39 30 31 31       
  48.         0057' 31 31 20 62       
  49.   27    0074' 0D                l2eob:    defb    0dh
  50.   28    0075' 53 65 65 20       l2wdta:    defm    'See READZSW.ME in RZSW1111.ZIP !!!!'    ;35 Bytes
  51.         0079' 52 45 41 44       
  52.         007D' 5A 53 57 2E       
  53.         0081' 4D 45 20 69       
  54.         0085' 6E 20 52 5A       
  55.         0089' 53 57 31 31       
  56.         008D' 31 31 2E 5A       
  57.         0091' 49 50 20 21       
  58.         0095' 21 21 21          
  59.   29    0098' 0D 00 00 00           defb    0dh,0,0,0,0,0,0                ;7 Bytes
  60.         009C' 00 00 00          
  61.   30    009F' 00 00 00 00           defb    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0    ;18 Bytes = 60 Bytes
  62.  
  63.  
  64. HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
  65.                                                                                                                           Page   2
  66.  
  67.  
  68.         00A3' 00 00 00 00       
  69.         00A7' 00 00 00 00       
  70.         00AB' 00 00 00 00       
  71.         00AF' 00 00             
  72.   31                            
  73.   32    00B1' 43 61 6C 6C       _complete: defm    'Call Completed to '    ;40 bytes for each message
  74.         00B5' 20 43 6F 6D       
  75.         00B9' 70 6C 65 74       
  76.         00BD' 65 64 20 74       
  77.         00C1' 6F 20             
  78.   33    00C3' 00 00 00 00           defb    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  79.         00C7' 00 00 00 00       
  80.         00CB' 00 00 00 00       
  81.         00CF' 00 00 00 00       
  82.         00D3' 00 00 00 00       
  83.         00D7' 00 00             
  84.   34    00D9' 43 61 6C 6C       _being_set: defm 'Call being Setup\r'
  85.         00DD' 20 62 65 69       
  86.         00E1' 6E 67 20 53       
  87.         00E5' 65 74 75 70       
  88.         00E9' 5C 72             
  89.   35    00EB' 00 00 00 00           defb    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  90.         00EF' 00 00 00 00       
  91.         00F3' 00 00 00 00       
  92.         00F7' 00 00 00 00       
  93.         00FB' 00 00 00 00       
  94.         00FF' 00 00 00          
  95.   36                            
  96.   37    0007        =           AXALEN    equ    7
  97.   38    0001        =           nnodes    equ    1    ;1 nodes in default config
  98.   39    0000        =           nusers    equ    0    ; No Level 3 users in default config
  99.   40    0018        =           maxl3    equ    24    ; My Calls + 15 Node Paths + 8 Users
  100.   41                            
  101.   42                                GLOBAL    _maxl3dev
  102.   43    0102' 0018              _maxl3dev: defw    maxl3    ;Tell rest of world how big it is
  103.   44                            
  104.   45    0104' A4 9E A6 8A       mycall:    defb    0a4h,9eh,0a6h,08ah,040h,40h,66h    ;ROSE-3
  105.         0108' 40 40 66          
  106.   46    010B' A4 9E A6 8A       mydigi:    defb    0a4h,9eh,0a6h,08ah,040h,40h,64h    ;ROSE-2
  107.         010F' 40 40 64          
  108.   47    0112' 00                myport:    defb    0
  109.   48    0113' 0000              mydelay: defw    0        ;900 =15 Mins before retry network link
  110.   49    0115' 14                myvc:    defb    20        ;network links can have 20 vc's default
  111.   50    0116' 04                mywi:    defb    4        ;default window of 4
  112.   51                            
  113.   52    0117' 0001 0000*        spfcn:    defw    1,_loader
  114.   53    011B' 00 00             defpwd:    defb    0,0        ;40 Bytes for KEY
  115.   54    011D' 52 4F 53 45           defm    'ROSEISBESTABCDEFGHIJKLMNOPQRSTUVWXYZW2VY'
  116.         0121' 49 53 42 45       
  117.         0125' 53 54 41 42       
  118.         0129' 43 44 45 46       
  119.         012D' 47 48 49 4A       
  120.         0131' 4B 4C 4D 4E       
  121.         0135' 4F 50 51 52       
  122.         0139' 53 54 55 56       
  123.  
  124.  
  125. HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
  126.                                                                                                                           Page   3
  127.  
  128.  
  129.         013D' 57 58 59 5A       
  130.         0141' 57 32 56 59       
  131.   55                            
  132.   56    0145' 0C19 0104' 0103'  initab:    defw    FLAG2-BSSCK-1,BSSCK+1,BSSCK    ;Length, Dest, Src
  133.   57    014B' 0013 011D' 0000'      defw    initlen,initbss,initdta
  134.   58    0151' 0007 0130' 0104'      defw    7*nnodes,_L3CALL,mycall
  135.   59    0157' 0007 01D8' 010B'      defw    7*nnodes,_L3DIGI,mydigi
  136.   60    015D' 0001 0280' 0112'      defw    nnodes,_L3PORT,myport
  137.   61    0163' 0001 02E0' 0115'      defw    nnodes,_L3_MAXVC,myvc
  138.   62    0169' 0001 02B0' 0116'      defw    nnodes,_L3_WI,mywi
  139.   63    016F' 0002 02F8' 0113'      defw    nnodes*2,_L3DELAY,mydelay
  140.   64    0175' 000C 0105' 0000*      defw    12,l2parms,_dl2parms    ;init l2 parms ram table
  141.   65    017B' 000C 0111' 0000*      defw    12,l3parms,_dl3parms    ;init l3 parms ram table
  142.   66    0181' 002A 0C1C' 011B'      defw    42,_passlen,defpwd
  143.   67    0187' 0004 0036' 0117'  initwm:    defw    4,_maxfcn, spfcn    ;Application loader
  144.   68    018D' 000A 0010' 0000*      defw    10,_L2PARS,_dL2PARS    ;Hooks for Level 2 User Switching
  145.   69    0193' 000A 001A' 0000*      defw    10,_L3PARS,_dL3PARS    ;Hooks for Level 3 Switching
  146.   70    0199' 0008 0008' 0000*      defw    8,_ifaces,_difaces    ;Level 1 to Level 2 Hooks 4 ports
  147.   71    019F' 000A 0000* 0000*      defw    10,_entry,_Entry    ;Message for Loader
  148.   72    01A5' 0000                  defw    0
  149.   73                            
  150.   74    0000'                       psect    text
  151.   75                                global    __init
  152.   76    0000'                   __init:
  153.   77    0000' 3A 0104'              ld    a,(FLAG1)    ;check flags
  154.   78    0003' FE AA                 cp    0aah
  155.   79    0005' 20 1C                 jp    nz,1f
  156.   80    0007' 3A 0D1D'              ld    a,(FLAG2)
  157.   81    000A' FE AA                 cp    0aah
  158.   82    000C' 20 15                 jp    nz,1f
  159.   83    000E' CD 0050'              call    sumchk        ;compute the checksum (xor of bytes)
  160.   84    0011' 47                    ld    b,a
  161.   85    0012' 3A 0103'              ld    a,(BSSCK)
  162.   86    0015' B8                    cp    b
  163.   87    0016' 20 0B                 jp    nz,1f
  164.   88    0018' 21 0029'              ld    hl,_l2_info
  165.   89    001B' 22 0124'              ld    (_l2_user_info),hl    ;Only the default message is in rom
  166.   90    001E' 21 0187'              ld    hl,initwm        ;Warm Start init's
  167.   91    0021' 18 07                 jp    initlp
  168.   92                            
  169.   93    0023' AF                1:    xor    a        ;Clear A
  170.   94    0024' 32 0103'              ld    (BSSCK),a    ;IPAGE and MEMSIZ are set elsewhere
  171.   95                            ;
  172.   96    0027' 21 0145'              ld    hl,initab    ;start of init table
  173.   97    002A' 4E                initlp:    ld    c,(hl)
  174.   98    002B' 23                    inc    hl
  175.   99    002C' 46                    ld    b,(hl)
  176.  100    002D' 23                    inc    hl
  177.  101    002E' 78                    ld    a,b
  178.  102    002F' B1                    or    c        ;done yet?
  179.  103    0030' 28 0F                 jp    z,initeof    ;yes, get out!
  180.  104    0032' 5E                    ld    e,(hl)
  181.  105    0033' 23                    inc    hl
  182.  106    0034' 56                    ld    d,(hl)
  183.  107    0035' 23                    inc    hl
  184.  
  185.  
  186. HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
  187.                                                                                                                           Page   4
  188.  
  189.  
  190.  108    0036' 7E                    ld    a,(hl)
  191.  109    0037' 23                    inc    hl
  192.  110    0038' E5                    push    hl
  193.  111    0039' 66                    ld    h,(hl)
  194.  112    003A' 6F                    ld    l,a
  195.  113    003B' ED B0                 ldir
  196.  114    003D' E1                    pop    hl
  197.  115    003E' 23                    inc    hl
  198.  116    003F' 18 E9                 jp    initlp
  199.  117                            
  200.  118    0041'                   initeof:
  201.  119    0041' 3E AA                 ld    a,0aah
  202.  120    0043' 32 0104'              ld    (FLAG1),a
  203.  121    0046' 32 0D1D'              ld    (FLAG2),a
  204.  122                            
  205.  123                            ;            Now set the checksum value for next time.
  206.  124    0049'                   _sumchk:
  207.  125    0049' CD 0050'              call    sumchk
  208.  126    004C' 32 0103'              ld    (BSSCK),a
  209.  127    004F' C9                    ret
  210.  128                            
  211.  129    0050'                   sumchk:
  212.  130    0050' 21 0104'              ld    hl,FLAG1
  213.  131    0053' 01 0C19               ld    bc,FLAG2-FLAG1
  214.  132    0056' 7E                    ld    a,(hl)
  215.  133    0057' 23                    inc    hl
  216.  134    0058' E5                    push    hl
  217.  135    0059' D1                    pop    de        ;source and dest same, the LD is a nop
  218.  136    005A' AE                1:    xor    (hl)
  219.  137    005B' ED A0                 ldi
  220.  138    005D' E0                    ret    po        ;until BC = 0
  221.  139    005E' 18 FA                 jp    1b
  222.  140                            
  223.  141    0000'                       psect    bssck        ;bss with checksum protection
  224.  142                                global    IPAGE, _MEMSIZ, _HEAPUSD, _HEAPSIZ, _COLD
  225.  143    0000'                   IPAGE:    DEFS    256        ;Interrupt pointer table (HDWINT.AS)
  226.  144    0100'                   _MEMSIZ: DEFS    2        ;Size of Dynamic RAM (BOOT.AS)
  227.  145    0102'                   _COLD:    defs    1        ;Reason for Restart (BOOT.AS)
  228.  146    0103'                   BSSCK:    defs    1
  229.  147    0104'                   FLAG1:    defs    1
  230.  148    0105'                   l2parms: defs 12
  231.  149    0111'                   l3parms: defs 12
  232.  150    011D'                   initbss:
  233.  151    011D'                   _node_addr: defs AXALEN
  234.  152    0124'                   _l2_user_info: defs 2
  235.  153    0126'                   _l2parms: defs 2
  236.  154    0128'                   _l3parms: defs 2
  237.  155    012A'                   _USER_L3_W: defs 2
  238.  156    012C'                   _USER_MAXVC: defs 2
  239.  157    012E'                   _L3CSIZ: defs 2
  240.  158    0130'                   _L3CALL: defs AXALEN*maxl3    ;7 * 18 - 16 Nodes and 8 Users (bbs?)
  241.  159    01D8'                   _L3DIGI: defs AXALEN*maxl3
  242.  160    0280'                   _L3PORT: defs 2*maxl3
  243.  161    02B0'                   _L3_WI:  defs 2*maxl3
  244.  162    02E0'                   _L3_MAXVC: defs maxl3
  245.  
  246.  
  247. HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
  248.                                                                                                                           Page   5
  249.  
  250.  
  251.  163    02F8'                   _L3DELAY: defs 2*16    ;2 * 16    Nodes only
  252.  164    0318'                   _L3NSIZ: defs 2
  253.  165    031A'                   _NPAroute: defs 256        ;16 * 16 Alternatives in routing list
  254.  166    041A'                   _userport: defs 2        ;Port number for out-bound User connect requests
  255.  167    041C'                   _RTable: defs    2048        ;2K Max Routing Table for the WORLD!
  256.  168    0C1C'                   _passlen: defs    1
  257.  169    0C1D'                   _passwd: defs    256
  258.  170    0D1D'                   FLAG2:    defs    1
  259.  171    0000'                       psect    bss
  260.  172                                global    _Init_bss, _SAVE, _SAVEA, _taskq, _timerq, _spcfcn, _maxfcn
  261.  173                                global    _ifaces, _L2PARS, _L3PARS, _difaces, _dL2PARS, _dL3PARS
  262.  174    0000'                   _Init_bss:
  263.  175    0000'                   _HEAPUSD: defs 2
  264.  176    0002'                   _HEAPSIZ: defs 2
  265.  177    0004'                   _taskq: defs 2
  266.  178    0006'                   _timerq: defs 2
  267.  179    0008'                   _ifaces: defs 8        ;4 pointers (2 bytes each)
  268.  180    0010'                   _L2PARS: defs 10    ;5 pointers (2 bytes each)
  269.  181    001A'                   _L3PARS: defs 10    ;5 pointers (2 bytes each)
  270.  182    0024'                   _SAVE: defs 2
  271.  183    0026'                   _SAVEA: defs 16
  272.  184    0036'                   _maxfcn: defs 2
  273.  185    0038'                   _spcfcn: defs 32    ; 16 - 2 byte entries
  274.  
  275.  
  276. HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
  277.                                                                                                                           Page   6
  278.  
  279.  
  280.  
  281.                                                 ---------- Symbol Table ----------
  282.  
  283.         (ABS) 0000#         AXALEN 0007           BSSCK 0103'      Copyright 0013'          FLAG1 0104'          FLAG2 0D1D'  
  284.         IPAGE 0000'          _COLD 0102'         _Entry 0000*       _HEAPSIZ 0002'       _HEAPUSD 0000'      _Init_bss 0000'  
  285.       _L2PARS 0010'        _L3CALL 0130'        _L3CSIZ 012E'       _L3DELAY 02F8'        _L3DIGI 01D8'        _L3NSIZ 0318'  
  286.       _L3PARS 001A'        _L3PORT 0280'      _L3_MAXVC 02E0'         _L3_WI 02B0'        _MEMSIZ 0100'      _NPAroute 031A'  
  287.      _NULLFCN 0000*        _RTable 041C'          _SAVE 0024'         _SAVEA 0026'     _USER_L3_W 012A'    _USER_MAXVC 012C'  
  288.      __Lbssck 0000*         __init 0000'     _being_set 00D9'      _clr_boot 0000*      _complete 00B1'      _con_boot 0000*  
  289.      _dL2PARS 0000*       _dL3PARS 0000*       _difaces 0000*      _dl2parms 0000*      _dl3parms 0000*         _entry 0000*  
  290.       _ifaces 0008'       _l2_info 0029'  _l2_user_info 0124'       _l2parms 0126'       _l3parms 0128'        _loader 0000*  
  291.       _maxfcn 0036'      _maxl3dev 0102'     _node_addr 011D'       _passlen 0C1C'        _passwd 0C1D'     _recv_boot 0000*  
  292.     _rst_boot 0000*     _send_boot 0000*        _spcfcn 0038'        _sumchk 0049'         _taskq 0004'        _timerq 0006'  
  293.     _userport 041A'            bss 0058#          bssck 0D1E#           data 01A7#         defpwd 011B'         initab 0145'  
  294.       initbss 011D'        initdta 0000'        initeof 0041'        initlen 0013          initlp 002A'         initwm 0187'  
  295.         l2eob 0074'        l2parms 0105'         l2rdta 0033'         l2wdta 0075'        l3parms 0111'          maxl3 0018   
  296.        myaddr 0000'         mycall 0104'        mydelay 0113'         mydigi 010B'         myport 0112'           myvc 0115'  
  297.          mywi 0116'         nnodes 0001          nusers 0000           spfcn 0117'         sumchk 0050'           text 0060#  
  298.  
  299. 7 jump optimizations
  300.